For code division multiple access (CDMA) systems where spreading codes or sequences are used to separate data symbols from each other, from control channels and from symbols to/from other users, advanced non-linear receivers using joint detection, such as sphere decoders, assisted maximum likelihood detection (AMLD), multi-stage group detection (MSGD) etc., or symbol-level interference cancellation (IC) require the computation of spreading code correlations to achieve better performance than linear receivers. However, for wideband CDMA (WCDMA) and similar systems, the spreading sequence correlations are symbol-dependent since the scrambling sequence is symbol-dependent. For example, two spreading sequences of spreading factor 16 have one set of correlation values for one symbol period, but another set of correlation values for the next symbol period. Because the correlations change from symbol to symbol, online correlation computation is very demanding. Moreover, the scrambling codes are often long, e.g., for a WCDMA system 10 milliseconds (or 38400 chips long), which also means that precomputed correlations of the spreading sequences require large amounts of memory to store such large number of correlations.
What is needed then is an efficient way to store and provide spreading sequence correlations.